/**
 * @file:          Datatype.h
 * @brief:
 * @details:
 * @author:        wjh
 * @date created:  2023.06.12
 * @version:       1.0.0
 * @par copyright (c):
 *
 * @par history (desc):
 *   version:1.0.0, wjh, 2023.06.12,15:21:24
 */

#ifndef _DATATYPE_H_
#define _DATATYPE_H_

/* Include Files **************************************************************/
// #include "Type_def.h"
// #include "stdint.h"


/* Macro Definition ***********************************************************/

/* Data Type Define ***********************************************************/
// typedef unsigned char   u8;     //  8 bits
// typedef unsigned int    u16;    // 16 bits
// typedef unsigned long   u32;    // 32 bits
// typedef float f32;

typedef signed char int8;  //  8 bits
typedef signed short int16;  // 16 bits
typedef signed long int32; // 32 bits
typedef signed long long int64; // 64 bits

typedef signed char int8_t;  //  8 bits
typedef signed short int16_t;  // 16 bits
typedef signed long int32_t; // 32 bits
typedef signed long long int64_t; // 64 bits

typedef unsigned char uint8;  //  8 bits
typedef unsigned short uint16;  // 16 bits
typedef unsigned long uint32; // 32 bits
typedef unsigned long long uint64; // 64 bits

typedef unsigned char uint8_t;  //  8 bits
typedef unsigned short uint16_t;  // 16 bits
typedef unsigned long uint32_t; // 32 bits
typedef unsigned long long uint64_t; // 64 bits

typedef float float32;

typedef union DataTypeTranformer
{
    uint8_t u8[4];
    int8_t s8[4];
    uint16_t u16[2];
    int16_t s16[2];
    uint32_t u32;
    int32_t s32;
    float f32;
} DataTypeTranformer;

/* Variable Declare ***********************************************************/

/* Function Declare ***********************************************************/

#endif
